package com.sanweibook.jhook.common.tool.excel.handler;

import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;

/**
 * Created by twg on 2017/9/9.
 */
public interface ExcelHandler<T> {
    /**
     * 根据文件名、参数类型，生成excel，返回文件生成路径
     *
     * @param list
     * @param fileName
     */
    String writeExcel(final List<T> list, final String fileName);

    /**
     * 根据文件名、参数类型，生成excel，返回文件生成路径
     *
     * @param clazz
     * @param fileName
     */
    String writeExcel(final Class clazz, final String fileName);

    /**
     * 根据参数类型，生成excel
     *
     * @param clazz
     * @param outputStream
     */
    void writeExcel(final Class clazz, final OutputStream outputStream);

    /**
     * 根据文件名，读取文件，并解析成制定参数类型的集合信息
     *
     * @param clazz
     * @param fileName
     * @return
     */
    List<T> readExcel(final Class clazz, final String fileName);

}
